      module mo_lu_factor
      private
      public :: lu_fac
      contains
      subroutine lu_fac01( lu )
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      real(r8), intent(inout) :: lu(:)
         lu(1) = 1._r8 / lu(1)
         lu(2) = lu(2) * lu(1)
         lu(3) = lu(3) * lu(1)
         lu(244) = lu(244) - lu(2) * lu(234)
         lu(253) = lu(253) - lu(3) * lu(234)
         lu(4) = 1._r8 / lu(4)
         lu(5) = lu(5) * lu(4)
         lu(8) = lu(8) - lu(5) * lu(6)
         lu(205) = lu(205) - lu(5) * lu(194)
         lu(276) = lu(276) - lu(5) * lu(256)
         lu(483) = lu(483) - lu(5) * lu(480)
         lu(7) = 1._r8 / lu(7)
         lu(8) = lu(8) * lu(7)
         lu(205) = lu(205) - lu(8) * lu(195)
         lu(276) = lu(276) - lu(8) * lu(257)
         lu(359) = lu(359) - lu(8) * lu(353)
         lu(483) = lu(483) - lu(8) * lu(481)
         lu(9) = 1._r8 / lu(9)
         lu(10) = lu(10) * lu(9)
         lu(11) = lu(11) * lu(9)
         lu(222) = lu(222) - lu(10) * lu(213)
         lu(223) = lu(223) - lu(11) * lu(213)
         lu(244) = lu(244) - lu(10) * lu(235)
         lu(245) = lu(245) - lu(11) * lu(235)
         lu(12) = 1._r8 / lu(12)
         lu(13) = lu(13) * lu(12)
         lu(153) = lu(153) - lu(13) * lu(147)
         lu(165) = lu(165) - lu(13) * lu(155)
         lu(253) = lu(253) - lu(13) * lu(236)
         lu(455) = lu(455) - lu(13) * lu(437)
         lu(477) = lu(477) - lu(13) * lu(458)
         lu(14) = 1._r8 / lu(14)
         lu(15) = lu(15) * lu(14)
         lu(16) = lu(16) * lu(14)
         lu(96) = lu(96) - lu(15) * lu(91)
         lu(98) = - lu(16) * lu(91)
         lu(225) = lu(225) - lu(15) * lu(214)
         lu(231) = lu(231) - lu(16) * lu(214)
         lu(247) = lu(247) - lu(15) * lu(237)
         lu(253) = lu(253) - lu(16) * lu(237)
         lu(471) = - lu(15) * lu(459)
         lu(477) = lu(477) - lu(16) * lu(459)
         lu(17) = 1._r8 / lu(17)
         lu(18) = lu(18) * lu(17)
         lu(19) = lu(19) * lu(17)
         lu(20) = lu(20) * lu(17)
         lu(21) = lu(21) * lu(17)
         lu(22) = lu(22) * lu(17)
         lu(333) = lu(333) - lu(18) * lu(330)
         lu(342) = lu(342) - lu(19) * lu(330)
         lu(343) = lu(343) - lu(20) * lu(330)
         lu(345) = lu(345) - lu(21) * lu(330)
         lu(349) = lu(349) - lu(22) * lu(330)
         lu(421) = lu(421) - lu(18) * lu(420)
         lu(426) = lu(426) - lu(19) * lu(420)
         lu(427) = lu(427) - lu(20) * lu(420)
         lu(429) = lu(429) - lu(21) * lu(420)
         lu(433) = lu(433) - lu(22) * lu(420)
         lu(23) = 1._r8 / lu(23)
         lu(24) = lu(24) * lu(23)
         lu(25) = lu(25) * lu(23)
         lu(26) = lu(26) * lu(23)
         lu(27) = lu(27) * lu(23)
         lu(28) = lu(28) * lu(23)
         lu(138) = lu(138) - lu(24) * lu(137)
         lu(139) = - lu(25) * lu(137)
         lu(140) = lu(140) - lu(26) * lu(137)
         lu(141) = - lu(27) * lu(137)
         lu(146) = - lu(28) * lu(137)
         lu(376) = lu(376) - lu(24) * lu(371)
         lu(378) = lu(378) - lu(25) * lu(371)
         lu(379) = - lu(26) * lu(371)
         lu(380) = lu(380) - lu(27) * lu(371)
         lu(390) = lu(390) - lu(28) * lu(371)
         lu(400) = lu(400) - lu(24) * lu(395)
         lu(403) = lu(403) - lu(25) * lu(395)
         lu(404) = lu(404) - lu(26) * lu(395)
         lu(405) = lu(405) - lu(27) * lu(395)
         lu(415) = lu(415) - lu(28) * lu(395)
         lu(29) = 1._r8 / lu(29)
         lu(30) = lu(30) * lu(29)
         lu(31) = lu(31) * lu(29)
         lu(32) = lu(32) * lu(29)
         lu(33) = lu(33) * lu(29)
         lu(34) = lu(34) * lu(29)
         lu(35) = lu(35) * lu(29)
         lu(337) = - lu(30) * lu(331)
         lu(339) = lu(339) - lu(31) * lu(331)
         lu(345) = lu(345) - lu(32) * lu(331)
         lu(347) = lu(347) - lu(33) * lu(331)
         lu(348) = lu(348) - lu(34) * lu(331)
         lu(349) = lu(349) - lu(35) * lu(331)
         lu(378) = lu(378) - lu(30) * lu(372)
         lu(381) = lu(381) - lu(31) * lu(372)
         lu(387) = lu(387) - lu(32) * lu(372)
         lu(389) = lu(389) - lu(33) * lu(372)
         lu(390) = lu(390) - lu(34) * lu(372)
         lu(391) = lu(391) - lu(35) * lu(372)
         lu(403) = lu(403) - lu(30) * lu(396)
         lu(406) = lu(406) - lu(31) * lu(396)
         lu(412) = lu(412) - lu(32) * lu(396)
         lu(414) = lu(414) - lu(33) * lu(396)
         lu(415) = lu(415) - lu(34) * lu(396)
         lu(416) = lu(416) - lu(35) * lu(396)
         lu(36) = 1._r8 / lu(36)
         lu(37) = lu(37) * lu(36)
         lu(38) = lu(38) * lu(36)
         lu(39) = lu(39) * lu(36)
         lu(40) = lu(40) * lu(36)
         lu(41) = lu(41) * lu(36)
         lu(42) = lu(42) * lu(36)
         lu(127) = - lu(37) * lu(126)
         lu(128) = lu(128) - lu(38) * lu(126)
         lu(129) = lu(129) - lu(39) * lu(126)
         lu(131) = lu(131) - lu(40) * lu(126)
         lu(132) = lu(132) - lu(41) * lu(126)
         lu(133) = lu(133) - lu(42) * lu(126)
         lu(197) = lu(197) - lu(37) * lu(196)
         lu(200) = lu(200) - lu(38) * lu(196)
         lu(201) = lu(201) - lu(39) * lu(196)
         lu(203) = lu(203) - lu(40) * lu(196)
         lu(205) = lu(205) - lu(41) * lu(196)
         lu(206) = lu(206) - lu(42) * lu(196)
         lu(259) = lu(259) - lu(37) * lu(258)
         lu(267) = - lu(38) * lu(258)
         lu(268) = lu(268) - lu(39) * lu(258)
         lu(270) = lu(270) - lu(40) * lu(258)
         lu(276) = lu(276) - lu(41) * lu(258)
         lu(279) = lu(279) - lu(42) * lu(258)
         lu(43) = 1._r8 / lu(43)
         lu(44) = lu(44) * lu(43)
         lu(45) = lu(45) * lu(43)
         lu(46) = lu(46) * lu(43)
         lu(47) = lu(47) * lu(43)
         lu(48) = lu(48) * lu(43)
         lu(72) = lu(72) - lu(44) * lu(69)
         lu(73) = lu(73) - lu(45) * lu(69)
         lu(75) = lu(75) - lu(46) * lu(69)
         lu(76) = lu(76) - lu(47) * lu(69)
         lu(77) = lu(77) - lu(48) * lu(69)
         lu(128) = lu(128) - lu(44) * lu(127)
         lu(129) = lu(129) - lu(45) * lu(127)
         lu(131) = lu(131) - lu(46) * lu(127)
         lu(132) = lu(132) - lu(47) * lu(127)
         lu(133) = lu(133) - lu(48) * lu(127)
         lu(200) = lu(200) - lu(44) * lu(197)
         lu(201) = lu(201) - lu(45) * lu(197)
         lu(203) = lu(203) - lu(46) * lu(197)
         lu(205) = lu(205) - lu(47) * lu(197)
         lu(206) = lu(206) - lu(48) * lu(197)
         lu(267) = lu(267) - lu(44) * lu(259)
         lu(268) = lu(268) - lu(45) * lu(259)
         lu(270) = lu(270) - lu(46) * lu(259)
         lu(276) = lu(276) - lu(47) * lu(259)
         lu(279) = lu(279) - lu(48) * lu(259)
      end subroutine lu_fac01
      subroutine lu_fac02( lu )
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      real(r8), intent(inout) :: lu(:)
         lu(49) = 1._r8 / lu(49)
         lu(50) = lu(50) * lu(49)
         lu(51) = lu(51) * lu(49)
         lu(52) = lu(52) * lu(49)
         lu(53) = lu(53) * lu(49)
         lu(75) = lu(75) - lu(50) * lu(70)
         lu(76) = lu(76) - lu(51) * lu(70)
         lu(78) = - lu(52) * lu(70)
         lu(79) = - lu(53) * lu(70)
         lu(111) = lu(111) - lu(50) * lu(108)
         lu(112) = - lu(51) * lu(108)
         lu(114) = - lu(52) * lu(108)
         lu(115) = - lu(53) * lu(108)
         lu(121) = lu(121) - lu(50) * lu(116)
         lu(122) = - lu(51) * lu(116)
         lu(124) = - lu(52) * lu(116)
         lu(125) = lu(125) - lu(53) * lu(116)
         lu(203) = lu(203) - lu(50) * lu(198)
         lu(205) = lu(205) - lu(51) * lu(198)
         lu(207) = lu(207) - lu(52) * lu(198)
         lu(209) = lu(209) - lu(53) * lu(198)
         lu(270) = lu(270) - lu(50) * lu(260)
         lu(276) = lu(276) - lu(51) * lu(260)
         lu(280) = lu(280) - lu(52) * lu(260)
         lu(283) = - lu(53) * lu(260)
         lu(54) = 1._r8 / lu(54)
         lu(55) = lu(55) * lu(54)
         lu(56) = lu(56) * lu(54)
         lu(57) = lu(57) * lu(54)
         lu(58) = lu(58) * lu(54)
         lu(59) = lu(59) * lu(54)
         lu(60) = lu(60) * lu(54)
         lu(61) = lu(61) * lu(54)
         lu(216) = - lu(55) * lu(215)
         lu(217) = lu(217) - lu(56) * lu(215)
         lu(221) = lu(221) - lu(57) * lu(215)
         lu(223) = lu(223) - lu(58) * lu(215)
         lu(225) = lu(225) - lu(59) * lu(215)
         lu(226) = lu(226) - lu(60) * lu(215)
         lu(230) = - lu(61) * lu(215)
         lu(265) = - lu(55) * lu(261)
         lu(266) = lu(266) - lu(56) * lu(261)
         lu(277) = lu(277) - lu(57) * lu(261)
         lu(279) = lu(279) - lu(58) * lu(261)
         lu(281) = lu(281) - lu(59) * lu(261)
         lu(282) = lu(282) - lu(60) * lu(261)
         lu(286) = lu(286) - lu(61) * lu(261)
         lu(333) = lu(333) - lu(55) * lu(332)
         lu(334) = - lu(56) * lu(332)
         lu(340) = lu(340) - lu(57) * lu(332)
         lu(342) = lu(342) - lu(58) * lu(332)
         lu(344) = - lu(59) * lu(332)
         lu(345) = lu(345) - lu(60) * lu(332)
         lu(349) = lu(349) - lu(61) * lu(332)
         lu(62) = 1._r8 / lu(62)
         lu(63) = lu(63) * lu(62)
         lu(64) = lu(64) * lu(62)
         lu(65) = lu(65) * lu(62)
         lu(66) = lu(66) * lu(62)
         lu(67) = lu(67) * lu(62)
         lu(68) = lu(68) * lu(62)
         lu(273) = - lu(63) * lu(262)
         lu(279) = lu(279) - lu(64) * lu(262)
         lu(284) = lu(284) - lu(65) * lu(262)
         lu(285) = lu(285) - lu(66) * lu(262)
         lu(287) = lu(287) - lu(67) * lu(262)
         lu(288) = lu(288) - lu(68) * lu(262)
         lu(378) = lu(378) - lu(63) * lu(373)
         lu(384) = lu(384) - lu(64) * lu(373)
         lu(389) = lu(389) - lu(65) * lu(373)
         lu(390) = lu(390) - lu(66) * lu(373)
         lu(392) = lu(392) - lu(67) * lu(373)
         lu(393) = lu(393) - lu(68) * lu(373)
         lu(403) = lu(403) - lu(63) * lu(397)
         lu(409) = lu(409) - lu(64) * lu(397)
         lu(414) = lu(414) - lu(65) * lu(397)
         lu(415) = lu(415) - lu(66) * lu(397)
         lu(417) = lu(417) - lu(67) * lu(397)
         lu(418) = lu(418) - lu(68) * lu(397)
         lu(442) = - lu(63) * lu(438)
         lu(447) = - lu(64) * lu(438)
         lu(452) = lu(452) - lu(65) * lu(438)
         lu(453) = lu(453) - lu(66) * lu(438)
         lu(455) = lu(455) - lu(67) * lu(438)
         lu(456) = lu(456) - lu(68) * lu(438)
         lu(71) = 1._r8 / lu(71)
         lu(72) = lu(72) * lu(71)
         lu(73) = lu(73) * lu(71)
         lu(74) = lu(74) * lu(71)
         lu(75) = lu(75) * lu(71)
         lu(76) = lu(76) * lu(71)
         lu(77) = lu(77) * lu(71)
         lu(78) = lu(78) * lu(71)
         lu(79) = lu(79) * lu(71)
         lu(118) = lu(118) - lu(72) * lu(117)
         lu(119) = lu(119) - lu(73) * lu(117)
         lu(120) = lu(120) - lu(74) * lu(117)
         lu(121) = lu(121) - lu(75) * lu(117)
         lu(122) = lu(122) - lu(76) * lu(117)
         lu(123) = lu(123) - lu(77) * lu(117)
         lu(124) = lu(124) - lu(78) * lu(117)
         lu(125) = lu(125) - lu(79) * lu(117)
         lu(200) = lu(200) - lu(72) * lu(199)
         lu(201) = lu(201) - lu(73) * lu(199)
         lu(202) = lu(202) - lu(74) * lu(199)
         lu(203) = lu(203) - lu(75) * lu(199)
         lu(205) = lu(205) - lu(76) * lu(199)
         lu(206) = lu(206) - lu(77) * lu(199)
         lu(207) = lu(207) - lu(78) * lu(199)
         lu(209) = lu(209) - lu(79) * lu(199)
         lu(267) = lu(267) - lu(72) * lu(263)
         lu(268) = lu(268) - lu(73) * lu(263)
         lu(269) = lu(269) - lu(74) * lu(263)
         lu(270) = lu(270) - lu(75) * lu(263)
         lu(276) = lu(276) - lu(76) * lu(263)
         lu(279) = lu(279) - lu(77) * lu(263)
         lu(280) = lu(280) - lu(78) * lu(263)
         lu(283) = lu(283) - lu(79) * lu(263)
         lu(80) = 1._r8 / lu(80)
         lu(81) = lu(81) * lu(80)
         lu(82) = lu(82) * lu(80)
         lu(83) = lu(83) * lu(80)
         lu(84) = lu(84) * lu(80)
         lu(85) = lu(85) * lu(80)
         lu(174) = lu(174) - lu(81) * lu(172)
         lu(177) = lu(177) - lu(82) * lu(172)
         lu(178) = lu(178) - lu(83) * lu(172)
         lu(180) = - lu(84) * lu(172)
         lu(182) = lu(182) - lu(85) * lu(172)
         lu(273) = lu(273) - lu(81) * lu(264)
         lu(279) = lu(279) - lu(82) * lu(264)
         lu(281) = lu(281) - lu(83) * lu(264)
         lu(283) = lu(283) - lu(84) * lu(264)
         lu(285) = lu(285) - lu(85) * lu(264)
         lu(313) = - lu(81) * lu(312)
         lu(319) = - lu(82) * lu(312)
         lu(321) = lu(321) - lu(83) * lu(312)
         lu(323) = - lu(84) * lu(312)
         lu(325) = - lu(85) * lu(312)
         lu(356) = lu(356) - lu(81) * lu(354)
         lu(360) = lu(360) - lu(82) * lu(354)
         lu(362) = lu(362) - lu(83) * lu(354)
         lu(364) = lu(364) - lu(84) * lu(354)
         lu(366) = lu(366) - lu(85) * lu(354)
         lu(378) = lu(378) - lu(81) * lu(374)
         lu(384) = lu(384) - lu(82) * lu(374)
         lu(386) = lu(386) - lu(83) * lu(374)
         lu(388) = - lu(84) * lu(374)
         lu(390) = lu(390) - lu(85) * lu(374)
         lu(403) = lu(403) - lu(81) * lu(398)
         lu(409) = lu(409) - lu(82) * lu(398)
         lu(411) = lu(411) - lu(83) * lu(398)
         lu(413) = - lu(84) * lu(398)
         lu(415) = lu(415) - lu(85) * lu(398)
      end subroutine lu_fac02
      subroutine lu_fac03( lu )
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      real(r8), intent(inout) :: lu(:)
         lu(86) = 1._r8 / lu(86)
         lu(87) = lu(87) * lu(86)
         lu(88) = lu(88) * lu(86)
         lu(89) = lu(89) * lu(86)
         lu(90) = lu(90) * lu(86)
         lu(159) = - lu(87) * lu(156)
         lu(162) = lu(162) - lu(88) * lu(156)
         lu(163) = lu(163) - lu(89) * lu(156)
         lu(164) = lu(164) - lu(90) * lu(156)
         lu(174) = lu(174) - lu(87) * lu(173)
         lu(179) = - lu(88) * lu(173)
         lu(182) = lu(182) - lu(89) * lu(173)
         lu(183) = lu(183) - lu(90) * lu(173)
         lu(218) = - lu(87) * lu(216)
         lu(226) = lu(226) - lu(88) * lu(216)
         lu(229) = lu(229) - lu(89) * lu(216)
         lu(230) = lu(230) - lu(90) * lu(216)
         lu(273) = lu(273) - lu(87) * lu(265)
         lu(282) = lu(282) - lu(88) * lu(265)
         lu(285) = lu(285) - lu(89) * lu(265)
         lu(286) = lu(286) - lu(90) * lu(265)
         lu(337) = lu(337) - lu(87) * lu(333)
         lu(345) = lu(345) - lu(88) * lu(333)
         lu(348) = lu(348) - lu(89) * lu(333)
         lu(349) = lu(349) - lu(90) * lu(333)
         lu(403) = lu(403) - lu(87) * lu(399)
         lu(412) = lu(412) - lu(88) * lu(399)
         lu(415) = lu(415) - lu(89) * lu(399)
         lu(416) = lu(416) - lu(90) * lu(399)
         lu(422) = - lu(87) * lu(421)
         lu(429) = lu(429) - lu(88) * lu(421)
         lu(432) = lu(432) - lu(89) * lu(421)
         lu(433) = lu(433) - lu(90) * lu(421)
         lu(464) = lu(464) - lu(87) * lu(460)
         lu(472) = - lu(88) * lu(460)
         lu(475) = lu(475) - lu(89) * lu(460)
         lu(476) = - lu(90) * lu(460)
         lu(92) = 1._r8 / lu(92)
         lu(93) = lu(93) * lu(92)
         lu(94) = lu(94) * lu(92)
         lu(95) = lu(95) * lu(92)
         lu(96) = lu(96) * lu(92)
         lu(97) = lu(97) * lu(92)
         lu(98) = lu(98) * lu(92)
         lu(99) = lu(99) * lu(92)
         lu(218) = lu(218) - lu(93) * lu(217)
         lu(221) = lu(221) - lu(94) * lu(217)
         lu(223) = lu(223) - lu(95) * lu(217)
         lu(225) = lu(225) - lu(96) * lu(217)
         lu(229) = lu(229) - lu(97) * lu(217)
         lu(231) = lu(231) - lu(98) * lu(217)
         lu(232) = - lu(99) * lu(217)
         lu(273) = lu(273) - lu(93) * lu(266)
         lu(277) = lu(277) - lu(94) * lu(266)
         lu(279) = lu(279) - lu(95) * lu(266)
         lu(281) = lu(281) - lu(96) * lu(266)
         lu(285) = lu(285) - lu(97) * lu(266)
         lu(287) = lu(287) - lu(98) * lu(266)
         lu(288) = lu(288) - lu(99) * lu(266)
         lu(337) = lu(337) - lu(93) * lu(334)
         lu(340) = lu(340) - lu(94) * lu(334)
         lu(342) = lu(342) - lu(95) * lu(334)
         lu(344) = lu(344) - lu(96) * lu(334)
         lu(348) = lu(348) - lu(97) * lu(334)
         lu(350) = - lu(98) * lu(334)
         lu(351) = - lu(99) * lu(334)
         lu(378) = lu(378) - lu(93) * lu(375)
         lu(382) = lu(382) - lu(94) * lu(375)
         lu(384) = lu(384) - lu(95) * lu(375)
         lu(386) = lu(386) - lu(96) * lu(375)
         lu(390) = lu(390) - lu(97) * lu(375)
         lu(392) = lu(392) - lu(98) * lu(375)
         lu(393) = lu(393) - lu(99) * lu(375)
         lu(464) = lu(464) - lu(93) * lu(461)
         lu(467) = - lu(94) * lu(461)
         lu(469) = lu(469) - lu(95) * lu(461)
         lu(471) = lu(471) - lu(96) * lu(461)
         lu(475) = lu(475) - lu(97) * lu(461)
         lu(477) = lu(477) - lu(98) * lu(461)
         lu(478) = lu(478) - lu(99) * lu(461)
         lu(100) = 1._r8 / lu(100)
         lu(101) = lu(101) * lu(100)
         lu(102) = lu(102) * lu(100)
         lu(103) = lu(103) * lu(100)
         lu(104) = lu(104) * lu(100)
         lu(105) = lu(105) * lu(100)
         lu(106) = lu(106) * lu(100)
         lu(107) = lu(107) * lu(100)
         lu(119) = lu(119) - lu(101) * lu(118)
         lu(120) = lu(120) - lu(102) * lu(118)
         lu(121) = lu(121) - lu(103) * lu(118)
         lu(122) = lu(122) - lu(104) * lu(118)
         lu(123) = lu(123) - lu(105) * lu(118)
         lu(124) = lu(124) - lu(106) * lu(118)
         lu(125) = lu(125) - lu(107) * lu(118)
         lu(129) = lu(129) - lu(101) * lu(128)
         lu(130) = lu(130) - lu(102) * lu(128)
         lu(131) = lu(131) - lu(103) * lu(128)
         lu(132) = lu(132) - lu(104) * lu(128)
         lu(133) = lu(133) - lu(105) * lu(128)
         lu(134) = lu(134) - lu(106) * lu(128)
         lu(136) = - lu(107) * lu(128)
         lu(201) = lu(201) - lu(101) * lu(200)
         lu(202) = lu(202) - lu(102) * lu(200)
         lu(203) = lu(203) - lu(103) * lu(200)
         lu(205) = lu(205) - lu(104) * lu(200)
         lu(206) = lu(206) - lu(105) * lu(200)
         lu(207) = lu(207) - lu(106) * lu(200)
         lu(209) = lu(209) - lu(107) * lu(200)
         lu(268) = lu(268) - lu(101) * lu(267)
         lu(269) = lu(269) - lu(102) * lu(267)
         lu(270) = lu(270) - lu(103) * lu(267)
         lu(276) = lu(276) - lu(104) * lu(267)
         lu(279) = lu(279) - lu(105) * lu(267)
         lu(280) = lu(280) - lu(106) * lu(267)
         lu(283) = lu(283) - lu(107) * lu(267)
         lu(291) = lu(291) - lu(101) * lu(290)
         lu(292) = lu(292) - lu(102) * lu(290)
         lu(293) = lu(293) - lu(103) * lu(290)
         lu(298) = lu(298) - lu(104) * lu(290)
         lu(301) = lu(301) - lu(105) * lu(290)
         lu(302) = lu(302) - lu(106) * lu(290)
         lu(305) = - lu(107) * lu(290)
         lu(109) = 1._r8 / lu(109)
         lu(110) = lu(110) * lu(109)
         lu(111) = lu(111) * lu(109)
         lu(112) = lu(112) * lu(109)
         lu(113) = lu(113) * lu(109)
         lu(114) = lu(114) * lu(109)
         lu(115) = lu(115) * lu(109)
         lu(120) = lu(120) - lu(110) * lu(119)
         lu(121) = lu(121) - lu(111) * lu(119)
         lu(122) = lu(122) - lu(112) * lu(119)
         lu(123) = lu(123) - lu(113) * lu(119)
         lu(124) = lu(124) - lu(114) * lu(119)
         lu(125) = lu(125) - lu(115) * lu(119)
         lu(130) = lu(130) - lu(110) * lu(129)
         lu(131) = lu(131) - lu(111) * lu(129)
         lu(132) = lu(132) - lu(112) * lu(129)
         lu(133) = lu(133) - lu(113) * lu(129)
         lu(134) = lu(134) - lu(114) * lu(129)
         lu(136) = lu(136) - lu(115) * lu(129)
         lu(202) = lu(202) - lu(110) * lu(201)
         lu(203) = lu(203) - lu(111) * lu(201)
         lu(205) = lu(205) - lu(112) * lu(201)
         lu(206) = lu(206) - lu(113) * lu(201)
         lu(207) = lu(207) - lu(114) * lu(201)
         lu(209) = lu(209) - lu(115) * lu(201)
         lu(269) = lu(269) - lu(110) * lu(268)
         lu(270) = lu(270) - lu(111) * lu(268)
         lu(276) = lu(276) - lu(112) * lu(268)
         lu(279) = lu(279) - lu(113) * lu(268)
         lu(280) = lu(280) - lu(114) * lu(268)
         lu(283) = lu(283) - lu(115) * lu(268)
         lu(292) = lu(292) - lu(110) * lu(291)
         lu(293) = lu(293) - lu(111) * lu(291)
         lu(298) = lu(298) - lu(112) * lu(291)
         lu(301) = lu(301) - lu(113) * lu(291)
         lu(302) = lu(302) - lu(114) * lu(291)
         lu(305) = lu(305) - lu(115) * lu(291)
         lu(120) = 1._r8 / lu(120)
         lu(121) = lu(121) * lu(120)
         lu(122) = lu(122) * lu(120)
         lu(123) = lu(123) * lu(120)
         lu(124) = lu(124) * lu(120)
         lu(125) = lu(125) * lu(120)
         lu(131) = lu(131) - lu(121) * lu(130)
         lu(132) = lu(132) - lu(122) * lu(130)
         lu(133) = lu(133) - lu(123) * lu(130)
         lu(134) = lu(134) - lu(124) * lu(130)
         lu(136) = lu(136) - lu(125) * lu(130)
         lu(203) = lu(203) - lu(121) * lu(202)
         lu(205) = lu(205) - lu(122) * lu(202)
         lu(206) = lu(206) - lu(123) * lu(202)
         lu(207) = lu(207) - lu(124) * lu(202)
         lu(209) = lu(209) - lu(125) * lu(202)
         lu(270) = lu(270) - lu(121) * lu(269)
         lu(276) = lu(276) - lu(122) * lu(269)
         lu(279) = lu(279) - lu(123) * lu(269)
         lu(280) = lu(280) - lu(124) * lu(269)
         lu(283) = lu(283) - lu(125) * lu(269)
         lu(293) = lu(293) - lu(121) * lu(292)
         lu(298) = lu(298) - lu(122) * lu(292)
         lu(301) = lu(301) - lu(123) * lu(292)
         lu(302) = lu(302) - lu(124) * lu(292)
         lu(305) = lu(305) - lu(125) * lu(292)
         lu(131) = 1._r8 / lu(131)
         lu(132) = lu(132) * lu(131)
         lu(133) = lu(133) * lu(131)
         lu(134) = lu(134) * lu(131)
         lu(135) = lu(135) * lu(131)
         lu(136) = lu(136) * lu(131)
         lu(205) = lu(205) - lu(132) * lu(203)
         lu(206) = lu(206) - lu(133) * lu(203)
         lu(207) = lu(207) - lu(134) * lu(203)
         lu(208) = - lu(135) * lu(203)
         lu(209) = lu(209) - lu(136) * lu(203)
         lu(276) = lu(276) - lu(132) * lu(270)
         lu(279) = lu(279) - lu(133) * lu(270)
         lu(280) = lu(280) - lu(134) * lu(270)
         lu(282) = lu(282) - lu(135) * lu(270)
         lu(283) = lu(283) - lu(136) * lu(270)
         lu(298) = lu(298) - lu(132) * lu(293)
         lu(301) = lu(301) - lu(133) * lu(293)
         lu(302) = lu(302) - lu(134) * lu(293)
         lu(304) = lu(304) - lu(135) * lu(293)
         lu(305) = lu(305) - lu(136) * lu(293)
         lu(339) = lu(339) - lu(132) * lu(335)
         lu(342) = lu(342) - lu(133) * lu(335)
         lu(343) = lu(343) - lu(134) * lu(335)
         lu(345) = lu(345) - lu(135) * lu(335)
         lu(346) = - lu(136) * lu(335)
      end subroutine lu_fac03
      subroutine lu_fac04( lu )
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      real(r8), intent(inout) :: lu(:)
         lu(138) = 1._r8 / lu(138)
         lu(139) = lu(139) * lu(138)
         lu(140) = lu(140) * lu(138)
         lu(141) = lu(141) * lu(138)
         lu(142) = lu(142) * lu(138)
         lu(143) = lu(143) * lu(138)
         lu(144) = lu(144) * lu(138)
         lu(145) = lu(145) * lu(138)
         lu(146) = lu(146) * lu(138)
         lu(295) = - lu(139) * lu(294)
         lu(296) = lu(296) - lu(140) * lu(294)
         lu(297) = - lu(141) * lu(294)
         lu(298) = lu(298) - lu(142) * lu(294)
         lu(302) = lu(302) - lu(143) * lu(294)
         lu(304) = lu(304) - lu(144) * lu(294)
         lu(306) = lu(306) - lu(145) * lu(294)
         lu(307) = lu(307) - lu(146) * lu(294)
         lu(356) = lu(356) - lu(139) * lu(355)
         lu(357) = lu(357) - lu(140) * lu(355)
         lu(358) = lu(358) - lu(141) * lu(355)
         lu(359) = lu(359) - lu(142) * lu(355)
         lu(361) = lu(361) - lu(143) * lu(355)
         lu(363) = - lu(144) * lu(355)
         lu(365) = lu(365) - lu(145) * lu(355)
         lu(366) = lu(366) - lu(146) * lu(355)
         lu(378) = lu(378) - lu(139) * lu(376)
         lu(379) = lu(379) - lu(140) * lu(376)
         lu(380) = lu(380) - lu(141) * lu(376)
         lu(381) = lu(381) - lu(142) * lu(376)
         lu(385) = lu(385) - lu(143) * lu(376)
         lu(387) = lu(387) - lu(144) * lu(376)
         lu(389) = lu(389) - lu(145) * lu(376)
         lu(390) = lu(390) - lu(146) * lu(376)
         lu(403) = lu(403) - lu(139) * lu(400)
         lu(404) = lu(404) - lu(140) * lu(400)
         lu(405) = lu(405) - lu(141) * lu(400)
         lu(406) = lu(406) - lu(142) * lu(400)
         lu(410) = - lu(143) * lu(400)
         lu(412) = lu(412) - lu(144) * lu(400)
         lu(414) = lu(414) - lu(145) * lu(400)
         lu(415) = lu(415) - lu(146) * lu(400)
         lu(442) = lu(442) - lu(139) * lu(439)
         lu(443) = lu(443) - lu(140) * lu(439)
         lu(444) = lu(444) - lu(141) * lu(439)
         lu(445) = lu(445) - lu(142) * lu(439)
         lu(448) = - lu(143) * lu(439)
         lu(450) = - lu(144) * lu(439)
         lu(452) = lu(452) - lu(145) * lu(439)
         lu(453) = lu(453) - lu(146) * lu(439)
         lu(148) = 1._r8 / lu(148)
         lu(149) = lu(149) * lu(148)
         lu(150) = lu(150) * lu(148)
         lu(151) = lu(151) * lu(148)
         lu(152) = lu(152) * lu(148)
         lu(153) = lu(153) * lu(148)
         lu(154) = lu(154) * lu(148)
         lu(159) = lu(159) - lu(149) * lu(157)
         lu(160) = lu(160) - lu(150) * lu(157)
         lu(161) = lu(161) - lu(151) * lu(157)
         lu(163) = lu(163) - lu(152) * lu(157)
         lu(165) = lu(165) - lu(153) * lu(157)
         lu(166) = lu(166) - lu(154) * lu(157)
         lu(240) = - lu(149) * lu(238)
         lu(244) = lu(244) - lu(150) * lu(238)
         lu(245) = lu(245) - lu(151) * lu(238)
         lu(251) = lu(251) - lu(152) * lu(238)
         lu(253) = lu(253) - lu(153) * lu(238)
         lu(254) = lu(254) - lu(154) * lu(238)
         lu(273) = lu(273) - lu(149) * lu(271)
         lu(278) = lu(278) - lu(150) * lu(271)
         lu(279) = lu(279) - lu(151) * lu(271)
         lu(285) = lu(285) - lu(152) * lu(271)
         lu(287) = lu(287) - lu(153) * lu(271)
         lu(288) = lu(288) - lu(154) * lu(271)
         lu(378) = lu(378) - lu(149) * lu(377)
         lu(383) = lu(383) - lu(150) * lu(377)
         lu(384) = lu(384) - lu(151) * lu(377)
         lu(390) = lu(390) - lu(152) * lu(377)
         lu(392) = lu(392) - lu(153) * lu(377)
         lu(393) = lu(393) - lu(154) * lu(377)
         lu(403) = lu(403) - lu(149) * lu(401)
         lu(408) = lu(408) - lu(150) * lu(401)
         lu(409) = lu(409) - lu(151) * lu(401)
         lu(415) = lu(415) - lu(152) * lu(401)
         lu(417) = lu(417) - lu(153) * lu(401)
         lu(418) = lu(418) - lu(154) * lu(401)
         lu(442) = lu(442) - lu(149) * lu(440)
         lu(446) = lu(446) - lu(150) * lu(440)
         lu(447) = lu(447) - lu(151) * lu(440)
         lu(453) = lu(453) - lu(152) * lu(440)
         lu(455) = lu(455) - lu(153) * lu(440)
         lu(456) = lu(456) - lu(154) * lu(440)
         lu(464) = lu(464) - lu(149) * lu(462)
         lu(468) = - lu(150) * lu(462)
         lu(469) = lu(469) - lu(151) * lu(462)
         lu(475) = lu(475) - lu(152) * lu(462)
         lu(477) = lu(477) - lu(153) * lu(462)
         lu(478) = lu(478) - lu(154) * lu(462)
         lu(158) = 1._r8 / lu(158)
         lu(159) = lu(159) * lu(158)
         lu(160) = lu(160) * lu(158)
         lu(161) = lu(161) * lu(158)
         lu(162) = lu(162) * lu(158)
         lu(163) = lu(163) * lu(158)
         lu(164) = lu(164) * lu(158)
         lu(165) = lu(165) * lu(158)
         lu(166) = lu(166) * lu(158)
         lu(240) = lu(240) - lu(159) * lu(239)
         lu(244) = lu(244) - lu(160) * lu(239)
         lu(245) = lu(245) - lu(161) * lu(239)
         lu(248) = lu(248) - lu(162) * lu(239)
         lu(251) = lu(251) - lu(163) * lu(239)
         lu(252) = - lu(164) * lu(239)
         lu(253) = lu(253) - lu(165) * lu(239)
         lu(254) = lu(254) - lu(166) * lu(239)
         lu(273) = lu(273) - lu(159) * lu(272)
         lu(278) = lu(278) - lu(160) * lu(272)
         lu(279) = lu(279) - lu(161) * lu(272)
         lu(282) = lu(282) - lu(162) * lu(272)
         lu(285) = lu(285) - lu(163) * lu(272)
         lu(286) = lu(286) - lu(164) * lu(272)
         lu(287) = lu(287) - lu(165) * lu(272)
         lu(288) = lu(288) - lu(166) * lu(272)
         lu(337) = lu(337) - lu(159) * lu(336)
         lu(341) = lu(341) - lu(160) * lu(336)
         lu(342) = lu(342) - lu(161) * lu(336)
         lu(345) = lu(345) - lu(162) * lu(336)
         lu(348) = lu(348) - lu(163) * lu(336)
         lu(349) = lu(349) - lu(164) * lu(336)
         lu(350) = lu(350) - lu(165) * lu(336)
         lu(351) = lu(351) - lu(166) * lu(336)
         lu(403) = lu(403) - lu(159) * lu(402)
         lu(408) = lu(408) - lu(160) * lu(402)
         lu(409) = lu(409) - lu(161) * lu(402)
         lu(412) = lu(412) - lu(162) * lu(402)
         lu(415) = lu(415) - lu(163) * lu(402)
         lu(416) = lu(416) - lu(164) * lu(402)
         lu(417) = lu(417) - lu(165) * lu(402)
         lu(418) = lu(418) - lu(166) * lu(402)
         lu(442) = lu(442) - lu(159) * lu(441)
         lu(446) = lu(446) - lu(160) * lu(441)
         lu(447) = lu(447) - lu(161) * lu(441)
         lu(450) = lu(450) - lu(162) * lu(441)
         lu(453) = lu(453) - lu(163) * lu(441)
         lu(454) = lu(454) - lu(164) * lu(441)
         lu(455) = lu(455) - lu(165) * lu(441)
         lu(456) = lu(456) - lu(166) * lu(441)
         lu(464) = lu(464) - lu(159) * lu(463)
         lu(468) = lu(468) - lu(160) * lu(463)
         lu(469) = lu(469) - lu(161) * lu(463)
         lu(472) = lu(472) - lu(162) * lu(463)
         lu(475) = lu(475) - lu(163) * lu(463)
         lu(476) = lu(476) - lu(164) * lu(463)
         lu(477) = lu(477) - lu(165) * lu(463)
         lu(478) = lu(478) - lu(166) * lu(463)
         lu(167) = 1._r8 / lu(167)
         lu(168) = lu(168) * lu(167)
         lu(169) = lu(169) * lu(167)
         lu(170) = lu(170) * lu(167)
         lu(171) = lu(171) * lu(167)
         lu(176) = lu(176) - lu(168) * lu(174)
         lu(177) = lu(177) - lu(169) * lu(174)
         lu(180) = lu(180) - lu(170) * lu(174)
         lu(182) = lu(182) - lu(171) * lu(174)
         lu(187) = lu(187) - lu(168) * lu(186)
         lu(189) = lu(189) - lu(169) * lu(186)
         lu(190) = - lu(170) * lu(186)
         lu(192) = lu(192) - lu(171) * lu(186)
         lu(219) = - lu(168) * lu(218)
         lu(223) = lu(223) - lu(169) * lu(218)
         lu(227) = - lu(170) * lu(218)
         lu(229) = lu(229) - lu(171) * lu(218)
         lu(241) = - lu(168) * lu(240)
         lu(245) = lu(245) - lu(169) * lu(240)
         lu(249) = - lu(170) * lu(240)
         lu(251) = lu(251) - lu(171) * lu(240)
         lu(275) = lu(275) - lu(168) * lu(273)
         lu(279) = lu(279) - lu(169) * lu(273)
         lu(283) = lu(283) - lu(170) * lu(273)
         lu(285) = lu(285) - lu(171) * lu(273)
         lu(297) = lu(297) - lu(168) * lu(295)
         lu(301) = lu(301) - lu(169) * lu(295)
         lu(305) = lu(305) - lu(170) * lu(295)
         lu(307) = lu(307) - lu(171) * lu(295)
         lu(315) = - lu(168) * lu(313)
         lu(319) = lu(319) - lu(169) * lu(313)
         lu(323) = lu(323) - lu(170) * lu(313)
         lu(325) = lu(325) - lu(171) * lu(313)
         lu(338) = - lu(168) * lu(337)
         lu(342) = lu(342) - lu(169) * lu(337)
         lu(346) = lu(346) - lu(170) * lu(337)
         lu(348) = lu(348) - lu(171) * lu(337)
         lu(358) = lu(358) - lu(168) * lu(356)
         lu(360) = lu(360) - lu(169) * lu(356)
         lu(364) = lu(364) - lu(170) * lu(356)
         lu(366) = lu(366) - lu(171) * lu(356)
         lu(380) = lu(380) - lu(168) * lu(378)
         lu(384) = lu(384) - lu(169) * lu(378)
         lu(388) = lu(388) - lu(170) * lu(378)
         lu(390) = lu(390) - lu(171) * lu(378)
         lu(405) = lu(405) - lu(168) * lu(403)
         lu(409) = lu(409) - lu(169) * lu(403)
         lu(413) = lu(413) - lu(170) * lu(403)
         lu(415) = lu(415) - lu(171) * lu(403)
         lu(424) = - lu(168) * lu(422)
         lu(426) = lu(426) - lu(169) * lu(422)
         lu(430) = - lu(170) * lu(422)
         lu(432) = lu(432) - lu(171) * lu(422)
         lu(444) = lu(444) - lu(168) * lu(442)
         lu(447) = lu(447) - lu(169) * lu(442)
         lu(451) = - lu(170) * lu(442)
         lu(453) = lu(453) - lu(171) * lu(442)
         lu(465) = lu(465) - lu(168) * lu(464)
         lu(469) = lu(469) - lu(169) * lu(464)
         lu(473) = lu(473) - lu(170) * lu(464)
         lu(475) = lu(475) - lu(171) * lu(464)
         lu(175) = 1._r8 / lu(175)
         lu(176) = lu(176) * lu(175)
         lu(177) = lu(177) * lu(175)
         lu(178) = lu(178) * lu(175)
         lu(179) = lu(179) * lu(175)
         lu(180) = lu(180) * lu(175)
         lu(181) = lu(181) * lu(175)
         lu(182) = lu(182) * lu(175)
         lu(183) = lu(183) * lu(175)
         lu(184) = lu(184) * lu(175)
         lu(185) = lu(185) * lu(175)
         lu(275) = lu(275) - lu(176) * lu(274)
         lu(279) = lu(279) - lu(177) * lu(274)
         lu(281) = lu(281) - lu(178) * lu(274)
         lu(282) = lu(282) - lu(179) * lu(274)
         lu(283) = lu(283) - lu(180) * lu(274)
         lu(284) = lu(284) - lu(181) * lu(274)
         lu(285) = lu(285) - lu(182) * lu(274)
         lu(286) = lu(286) - lu(183) * lu(274)
         lu(287) = lu(287) - lu(184) * lu(274)
         lu(288) = lu(288) - lu(185) * lu(274)
         lu(297) = lu(297) - lu(176) * lu(296)
         lu(301) = lu(301) - lu(177) * lu(296)
         lu(303) = lu(303) - lu(178) * lu(296)
         lu(304) = lu(304) - lu(179) * lu(296)
         lu(305) = lu(305) - lu(180) * lu(296)
         lu(306) = lu(306) - lu(181) * lu(296)
         lu(307) = lu(307) - lu(182) * lu(296)
         lu(308) = lu(308) - lu(183) * lu(296)
         lu(309) = lu(309) - lu(184) * lu(296)
         lu(310) = - lu(185) * lu(296)
         lu(315) = lu(315) - lu(176) * lu(314)
         lu(319) = lu(319) - lu(177) * lu(314)
         lu(321) = lu(321) - lu(178) * lu(314)
         lu(322) = - lu(179) * lu(314)
         lu(323) = lu(323) - lu(180) * lu(314)
         lu(324) = lu(324) - lu(181) * lu(314)
         lu(325) = lu(325) - lu(182) * lu(314)
         lu(326) = - lu(183) * lu(314)
         lu(327) = - lu(184) * lu(314)
         lu(328) = - lu(185) * lu(314)
         lu(358) = lu(358) - lu(176) * lu(357)
         lu(360) = lu(360) - lu(177) * lu(357)
         lu(362) = lu(362) - lu(178) * lu(357)
         lu(363) = lu(363) - lu(179) * lu(357)
         lu(364) = lu(364) - lu(180) * lu(357)
         lu(365) = lu(365) - lu(181) * lu(357)
         lu(366) = lu(366) - lu(182) * lu(357)
         lu(367) = - lu(183) * lu(357)
         lu(368) = lu(368) - lu(184) * lu(357)
         lu(369) = lu(369) - lu(185) * lu(357)
         lu(380) = lu(380) - lu(176) * lu(379)
         lu(384) = lu(384) - lu(177) * lu(379)
         lu(386) = lu(386) - lu(178) * lu(379)
         lu(387) = lu(387) - lu(179) * lu(379)
         lu(388) = lu(388) - lu(180) * lu(379)
         lu(389) = lu(389) - lu(181) * lu(379)
         lu(390) = lu(390) - lu(182) * lu(379)
         lu(391) = lu(391) - lu(183) * lu(379)
         lu(392) = lu(392) - lu(184) * lu(379)
         lu(393) = lu(393) - lu(185) * lu(379)
         lu(405) = lu(405) - lu(176) * lu(404)
         lu(409) = lu(409) - lu(177) * lu(404)
         lu(411) = lu(411) - lu(178) * lu(404)
         lu(412) = lu(412) - lu(179) * lu(404)
         lu(413) = lu(413) - lu(180) * lu(404)
         lu(414) = lu(414) - lu(181) * lu(404)
         lu(415) = lu(415) - lu(182) * lu(404)
         lu(416) = lu(416) - lu(183) * lu(404)
         lu(417) = lu(417) - lu(184) * lu(404)
         lu(418) = lu(418) - lu(185) * lu(404)
         lu(424) = lu(424) - lu(176) * lu(423)
         lu(426) = lu(426) - lu(177) * lu(423)
         lu(428) = - lu(178) * lu(423)
         lu(429) = lu(429) - lu(179) * lu(423)
         lu(430) = lu(430) - lu(180) * lu(423)
         lu(431) = lu(431) - lu(181) * lu(423)
         lu(432) = lu(432) - lu(182) * lu(423)
         lu(433) = lu(433) - lu(183) * lu(423)
         lu(434) = - lu(184) * lu(423)
         lu(435) = - lu(185) * lu(423)
         lu(444) = lu(444) - lu(176) * lu(443)
         lu(447) = lu(447) - lu(177) * lu(443)
         lu(449) = - lu(178) * lu(443)
         lu(450) = lu(450) - lu(179) * lu(443)
         lu(451) = lu(451) - lu(180) * lu(443)
         lu(452) = lu(452) - lu(181) * lu(443)
         lu(453) = lu(453) - lu(182) * lu(443)
         lu(454) = lu(454) - lu(183) * lu(443)
         lu(455) = lu(455) - lu(184) * lu(443)
         lu(456) = lu(456) - lu(185) * lu(443)
      end subroutine lu_fac04
      subroutine lu_fac05( lu )
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      real(r8), intent(inout) :: lu(:)
         lu(187) = 1._r8 / lu(187)
         lu(188) = lu(188) * lu(187)
         lu(189) = lu(189) * lu(187)
         lu(190) = lu(190) * lu(187)
         lu(191) = lu(191) * lu(187)
         lu(192) = lu(192) * lu(187)
         lu(193) = lu(193) * lu(187)
         lu(205) = lu(205) - lu(188) * lu(204)
         lu(206) = lu(206) - lu(189) * lu(204)
         lu(209) = lu(209) - lu(190) * lu(204)
         lu(210) = lu(210) - lu(191) * lu(204)
         lu(211) = - lu(192) * lu(204)
         lu(212) = lu(212) - lu(193) * lu(204)
         lu(220) = lu(220) - lu(188) * lu(219)
         lu(223) = lu(223) - lu(189) * lu(219)
         lu(227) = lu(227) - lu(190) * lu(219)
         lu(228) = lu(228) - lu(191) * lu(219)
         lu(229) = lu(229) - lu(192) * lu(219)
         lu(233) = - lu(193) * lu(219)
         lu(242) = lu(242) - lu(188) * lu(241)
         lu(245) = lu(245) - lu(189) * lu(241)
         lu(249) = lu(249) - lu(190) * lu(241)
         lu(250) = lu(250) - lu(191) * lu(241)
         lu(251) = lu(251) - lu(192) * lu(241)
         lu(255) = - lu(193) * lu(241)
         lu(276) = lu(276) - lu(188) * lu(275)
         lu(279) = lu(279) - lu(189) * lu(275)
         lu(283) = lu(283) - lu(190) * lu(275)
         lu(284) = lu(284) - lu(191) * lu(275)
         lu(285) = lu(285) - lu(192) * lu(275)
         lu(289) = lu(289) - lu(193) * lu(275)
         lu(298) = lu(298) - lu(188) * lu(297)
         lu(301) = lu(301) - lu(189) * lu(297)
         lu(305) = lu(305) - lu(190) * lu(297)
         lu(306) = lu(306) - lu(191) * lu(297)
         lu(307) = lu(307) - lu(192) * lu(297)
         lu(311) = lu(311) - lu(193) * lu(297)
         lu(316) = lu(316) - lu(188) * lu(315)
         lu(319) = lu(319) - lu(189) * lu(315)
         lu(323) = lu(323) - lu(190) * lu(315)
         lu(324) = lu(324) - lu(191) * lu(315)
         lu(325) = lu(325) - lu(192) * lu(315)
         lu(329) = lu(329) - lu(193) * lu(315)
         lu(339) = lu(339) - lu(188) * lu(338)
         lu(342) = lu(342) - lu(189) * lu(338)
         lu(346) = lu(346) - lu(190) * lu(338)
         lu(347) = lu(347) - lu(191) * lu(338)
         lu(348) = lu(348) - lu(192) * lu(338)
         lu(352) = lu(352) - lu(193) * lu(338)
         lu(359) = lu(359) - lu(188) * lu(358)
         lu(360) = lu(360) - lu(189) * lu(358)
         lu(364) = lu(364) - lu(190) * lu(358)
         lu(365) = lu(365) - lu(191) * lu(358)
         lu(366) = lu(366) - lu(192) * lu(358)
         lu(370) = lu(370) - lu(193) * lu(358)
         lu(381) = lu(381) - lu(188) * lu(380)
         lu(384) = lu(384) - lu(189) * lu(380)
         lu(388) = lu(388) - lu(190) * lu(380)
         lu(389) = lu(389) - lu(191) * lu(380)
         lu(390) = lu(390) - lu(192) * lu(380)
         lu(394) = lu(394) - lu(193) * lu(380)
         lu(406) = lu(406) - lu(188) * lu(405)
         lu(409) = lu(409) - lu(189) * lu(405)
         lu(413) = lu(413) - lu(190) * lu(405)
         lu(414) = lu(414) - lu(191) * lu(405)
         lu(415) = lu(415) - lu(192) * lu(405)
         lu(419) = lu(419) - lu(193) * lu(405)
         lu(425) = lu(425) - lu(188) * lu(424)
         lu(426) = lu(426) - lu(189) * lu(424)
         lu(430) = lu(430) - lu(190) * lu(424)
         lu(431) = lu(431) - lu(191) * lu(424)
         lu(432) = lu(432) - lu(192) * lu(424)
         lu(436) = - lu(193) * lu(424)
         lu(445) = lu(445) - lu(188) * lu(444)
         lu(447) = lu(447) - lu(189) * lu(444)
         lu(451) = lu(451) - lu(190) * lu(444)
         lu(452) = lu(452) - lu(191) * lu(444)
         lu(453) = lu(453) - lu(192) * lu(444)
         lu(457) = lu(457) - lu(193) * lu(444)
         lu(466) = - lu(188) * lu(465)
         lu(469) = lu(469) - lu(189) * lu(465)
         lu(473) = lu(473) - lu(190) * lu(465)
         lu(474) = - lu(191) * lu(465)
         lu(475) = lu(475) - lu(192) * lu(465)
         lu(479) = - lu(193) * lu(465)
         lu(483) = lu(483) - lu(188) * lu(482)
         lu(486) = lu(486) - lu(189) * lu(482)
         lu(490) = lu(490) - lu(190) * lu(482)
         lu(491) = lu(491) - lu(191) * lu(482)
         lu(492) = lu(492) - lu(192) * lu(482)
         lu(496) = lu(496) - lu(193) * lu(482)
         lu(205) = 1._r8 / lu(205)
         lu(206) = lu(206) * lu(205)
         lu(207) = lu(207) * lu(205)
         lu(208) = lu(208) * lu(205)
         lu(209) = lu(209) * lu(205)
         lu(210) = lu(210) * lu(205)
         lu(211) = lu(211) * lu(205)
         lu(212) = lu(212) * lu(205)
         lu(223) = lu(223) - lu(206) * lu(220)
         lu(224) = lu(224) - lu(207) * lu(220)
         lu(226) = lu(226) - lu(208) * lu(220)
         lu(227) = lu(227) - lu(209) * lu(220)
         lu(228) = lu(228) - lu(210) * lu(220)
         lu(229) = lu(229) - lu(211) * lu(220)
         lu(233) = lu(233) - lu(212) * lu(220)
         lu(245) = lu(245) - lu(206) * lu(242)
         lu(246) = lu(246) - lu(207) * lu(242)
         lu(248) = lu(248) - lu(208) * lu(242)
         lu(249) = lu(249) - lu(209) * lu(242)
         lu(250) = lu(250) - lu(210) * lu(242)
         lu(251) = lu(251) - lu(211) * lu(242)
         lu(255) = lu(255) - lu(212) * lu(242)
         lu(279) = lu(279) - lu(206) * lu(276)
         lu(280) = lu(280) - lu(207) * lu(276)
         lu(282) = lu(282) - lu(208) * lu(276)
         lu(283) = lu(283) - lu(209) * lu(276)
         lu(284) = lu(284) - lu(210) * lu(276)
         lu(285) = lu(285) - lu(211) * lu(276)
         lu(289) = lu(289) - lu(212) * lu(276)
         lu(301) = lu(301) - lu(206) * lu(298)
         lu(302) = lu(302) - lu(207) * lu(298)
         lu(304) = lu(304) - lu(208) * lu(298)
         lu(305) = lu(305) - lu(209) * lu(298)
         lu(306) = lu(306) - lu(210) * lu(298)
         lu(307) = lu(307) - lu(211) * lu(298)
         lu(311) = lu(311) - lu(212) * lu(298)
         lu(319) = lu(319) - lu(206) * lu(316)
         lu(320) = - lu(207) * lu(316)
         lu(322) = lu(322) - lu(208) * lu(316)
         lu(323) = lu(323) - lu(209) * lu(316)
         lu(324) = lu(324) - lu(210) * lu(316)
         lu(325) = lu(325) - lu(211) * lu(316)
         lu(329) = lu(329) - lu(212) * lu(316)
         lu(342) = lu(342) - lu(206) * lu(339)
         lu(343) = lu(343) - lu(207) * lu(339)
         lu(345) = lu(345) - lu(208) * lu(339)
         lu(346) = lu(346) - lu(209) * lu(339)
         lu(347) = lu(347) - lu(210) * lu(339)
         lu(348) = lu(348) - lu(211) * lu(339)
         lu(352) = lu(352) - lu(212) * lu(339)
         lu(360) = lu(360) - lu(206) * lu(359)
         lu(361) = lu(361) - lu(207) * lu(359)
         lu(363) = lu(363) - lu(208) * lu(359)
         lu(364) = lu(364) - lu(209) * lu(359)
         lu(365) = lu(365) - lu(210) * lu(359)
         lu(366) = lu(366) - lu(211) * lu(359)
         lu(370) = lu(370) - lu(212) * lu(359)
         lu(384) = lu(384) - lu(206) * lu(381)
         lu(385) = lu(385) - lu(207) * lu(381)
         lu(387) = lu(387) - lu(208) * lu(381)
         lu(388) = lu(388) - lu(209) * lu(381)
         lu(389) = lu(389) - lu(210) * lu(381)
         lu(390) = lu(390) - lu(211) * lu(381)
         lu(394) = lu(394) - lu(212) * lu(381)
         lu(409) = lu(409) - lu(206) * lu(406)
         lu(410) = lu(410) - lu(207) * lu(406)
         lu(412) = lu(412) - lu(208) * lu(406)
         lu(413) = lu(413) - lu(209) * lu(406)
         lu(414) = lu(414) - lu(210) * lu(406)
         lu(415) = lu(415) - lu(211) * lu(406)
         lu(419) = lu(419) - lu(212) * lu(406)
         lu(426) = lu(426) - lu(206) * lu(425)
         lu(427) = lu(427) - lu(207) * lu(425)
         lu(429) = lu(429) - lu(208) * lu(425)
         lu(430) = lu(430) - lu(209) * lu(425)
         lu(431) = lu(431) - lu(210) * lu(425)
         lu(432) = lu(432) - lu(211) * lu(425)
         lu(436) = lu(436) - lu(212) * lu(425)
         lu(447) = lu(447) - lu(206) * lu(445)
         lu(448) = lu(448) - lu(207) * lu(445)
         lu(450) = lu(450) - lu(208) * lu(445)
         lu(451) = lu(451) - lu(209) * lu(445)
         lu(452) = lu(452) - lu(210) * lu(445)
         lu(453) = lu(453) - lu(211) * lu(445)
         lu(457) = lu(457) - lu(212) * lu(445)
         lu(469) = lu(469) - lu(206) * lu(466)
         lu(470) = - lu(207) * lu(466)
         lu(472) = lu(472) - lu(208) * lu(466)
         lu(473) = lu(473) - lu(209) * lu(466)
         lu(474) = lu(474) - lu(210) * lu(466)
         lu(475) = lu(475) - lu(211) * lu(466)
         lu(479) = lu(479) - lu(212) * lu(466)
         lu(486) = lu(486) - lu(206) * lu(483)
         lu(487) = lu(487) - lu(207) * lu(483)
         lu(489) = lu(489) - lu(208) * lu(483)
         lu(490) = lu(490) - lu(209) * lu(483)
         lu(491) = lu(491) - lu(210) * lu(483)
         lu(492) = lu(492) - lu(211) * lu(483)
         lu(496) = lu(496) - lu(212) * lu(483)
         lu(221) = 1._r8 / lu(221)
         lu(222) = lu(222) * lu(221)
         lu(223) = lu(223) * lu(221)
         lu(224) = lu(224) * lu(221)
         lu(225) = lu(225) * lu(221)
         lu(226) = lu(226) * lu(221)
         lu(227) = lu(227) * lu(221)
         lu(228) = lu(228) * lu(221)
         lu(229) = lu(229) * lu(221)
         lu(230) = lu(230) * lu(221)
         lu(231) = lu(231) * lu(221)
         lu(232) = lu(232) * lu(221)
         lu(233) = lu(233) * lu(221)
         lu(244) = lu(244) - lu(222) * lu(243)
         lu(245) = lu(245) - lu(223) * lu(243)
         lu(246) = lu(246) - lu(224) * lu(243)
         lu(247) = lu(247) - lu(225) * lu(243)
         lu(248) = lu(248) - lu(226) * lu(243)
         lu(249) = lu(249) - lu(227) * lu(243)
         lu(250) = lu(250) - lu(228) * lu(243)
         lu(251) = lu(251) - lu(229) * lu(243)
         lu(252) = lu(252) - lu(230) * lu(243)
         lu(253) = lu(253) - lu(231) * lu(243)
         lu(254) = lu(254) - lu(232) * lu(243)
         lu(255) = lu(255) - lu(233) * lu(243)
         lu(278) = lu(278) - lu(222) * lu(277)
         lu(279) = lu(279) - lu(223) * lu(277)
         lu(280) = lu(280) - lu(224) * lu(277)
         lu(281) = lu(281) - lu(225) * lu(277)
         lu(282) = lu(282) - lu(226) * lu(277)
         lu(283) = lu(283) - lu(227) * lu(277)
         lu(284) = lu(284) - lu(228) * lu(277)
         lu(285) = lu(285) - lu(229) * lu(277)
         lu(286) = lu(286) - lu(230) * lu(277)
         lu(287) = lu(287) - lu(231) * lu(277)
         lu(288) = lu(288) - lu(232) * lu(277)
         lu(289) = lu(289) - lu(233) * lu(277)
         lu(300) = lu(300) - lu(222) * lu(299)
         lu(301) = lu(301) - lu(223) * lu(299)
         lu(302) = lu(302) - lu(224) * lu(299)
         lu(303) = lu(303) - lu(225) * lu(299)
         lu(304) = lu(304) - lu(226) * lu(299)
         lu(305) = lu(305) - lu(227) * lu(299)
         lu(306) = lu(306) - lu(228) * lu(299)
         lu(307) = lu(307) - lu(229) * lu(299)
         lu(308) = lu(308) - lu(230) * lu(299)
         lu(309) = lu(309) - lu(231) * lu(299)
         lu(310) = lu(310) - lu(232) * lu(299)
         lu(311) = lu(311) - lu(233) * lu(299)
         lu(318) = - lu(222) * lu(317)
         lu(319) = lu(319) - lu(223) * lu(317)
         lu(320) = lu(320) - lu(224) * lu(317)
         lu(321) = lu(321) - lu(225) * lu(317)
         lu(322) = lu(322) - lu(226) * lu(317)
         lu(323) = lu(323) - lu(227) * lu(317)
         lu(324) = lu(324) - lu(228) * lu(317)
         lu(325) = lu(325) - lu(229) * lu(317)
         lu(326) = lu(326) - lu(230) * lu(317)
         lu(327) = lu(327) - lu(231) * lu(317)
         lu(328) = lu(328) - lu(232) * lu(317)
         lu(329) = lu(329) - lu(233) * lu(317)
         lu(341) = lu(341) - lu(222) * lu(340)
         lu(342) = lu(342) - lu(223) * lu(340)
         lu(343) = lu(343) - lu(224) * lu(340)
         lu(344) = lu(344) - lu(225) * lu(340)
         lu(345) = lu(345) - lu(226) * lu(340)
         lu(346) = lu(346) - lu(227) * lu(340)
         lu(347) = lu(347) - lu(228) * lu(340)
         lu(348) = lu(348) - lu(229) * lu(340)
         lu(349) = lu(349) - lu(230) * lu(340)
         lu(350) = lu(350) - lu(231) * lu(340)
         lu(351) = lu(351) - lu(232) * lu(340)
         lu(352) = lu(352) - lu(233) * lu(340)
         lu(383) = lu(383) - lu(222) * lu(382)
         lu(384) = lu(384) - lu(223) * lu(382)
         lu(385) = lu(385) - lu(224) * lu(382)
         lu(386) = lu(386) - lu(225) * lu(382)
         lu(387) = lu(387) - lu(226) * lu(382)
         lu(388) = lu(388) - lu(227) * lu(382)
         lu(389) = lu(389) - lu(228) * lu(382)
         lu(390) = lu(390) - lu(229) * lu(382)
         lu(391) = lu(391) - lu(230) * lu(382)
         lu(392) = lu(392) - lu(231) * lu(382)
         lu(393) = lu(393) - lu(232) * lu(382)
         lu(394) = lu(394) - lu(233) * lu(382)
         lu(408) = lu(408) - lu(222) * lu(407)
         lu(409) = lu(409) - lu(223) * lu(407)
         lu(410) = lu(410) - lu(224) * lu(407)
         lu(411) = lu(411) - lu(225) * lu(407)
         lu(412) = lu(412) - lu(226) * lu(407)
         lu(413) = lu(413) - lu(227) * lu(407)
         lu(414) = lu(414) - lu(228) * lu(407)
         lu(415) = lu(415) - lu(229) * lu(407)
         lu(416) = lu(416) - lu(230) * lu(407)
         lu(417) = lu(417) - lu(231) * lu(407)
         lu(418) = lu(418) - lu(232) * lu(407)
         lu(419) = lu(419) - lu(233) * lu(407)
         lu(468) = lu(468) - lu(222) * lu(467)
         lu(469) = lu(469) - lu(223) * lu(467)
         lu(470) = lu(470) - lu(224) * lu(467)
         lu(471) = lu(471) - lu(225) * lu(467)
         lu(472) = lu(472) - lu(226) * lu(467)
         lu(473) = lu(473) - lu(227) * lu(467)
         lu(474) = lu(474) - lu(228) * lu(467)
         lu(475) = lu(475) - lu(229) * lu(467)
         lu(476) = lu(476) - lu(230) * lu(467)
         lu(477) = lu(477) - lu(231) * lu(467)
         lu(478) = lu(478) - lu(232) * lu(467)
         lu(479) = lu(479) - lu(233) * lu(467)
         lu(485) = lu(485) - lu(222) * lu(484)
         lu(486) = lu(486) - lu(223) * lu(484)
         lu(487) = lu(487) - lu(224) * lu(484)
         lu(488) = lu(488) - lu(225) * lu(484)
         lu(489) = lu(489) - lu(226) * lu(484)
         lu(490) = lu(490) - lu(227) * lu(484)
         lu(491) = lu(491) - lu(228) * lu(484)
         lu(492) = lu(492) - lu(229) * lu(484)
         lu(493) = lu(493) - lu(230) * lu(484)
         lu(494) = lu(494) - lu(231) * lu(484)
         lu(495) = - lu(232) * lu(484)
         lu(496) = lu(496) - lu(233) * lu(484)
         lu(244) = 1._r8 / lu(244)
         lu(245) = lu(245) * lu(244)
         lu(246) = lu(246) * lu(244)
         lu(247) = lu(247) * lu(244)
         lu(248) = lu(248) * lu(244)
         lu(249) = lu(249) * lu(244)
         lu(250) = lu(250) * lu(244)
         lu(251) = lu(251) * lu(244)
         lu(252) = lu(252) * lu(244)
         lu(253) = lu(253) * lu(244)
         lu(254) = lu(254) * lu(244)
         lu(255) = lu(255) * lu(244)
         lu(279) = lu(279) - lu(245) * lu(278)
         lu(280) = lu(280) - lu(246) * lu(278)
         lu(281) = lu(281) - lu(247) * lu(278)
         lu(282) = lu(282) - lu(248) * lu(278)
         lu(283) = lu(283) - lu(249) * lu(278)
         lu(284) = lu(284) - lu(250) * lu(278)
         lu(285) = lu(285) - lu(251) * lu(278)
         lu(286) = lu(286) - lu(252) * lu(278)
         lu(287) = lu(287) - lu(253) * lu(278)
         lu(288) = lu(288) - lu(254) * lu(278)
         lu(289) = lu(289) - lu(255) * lu(278)
         lu(301) = lu(301) - lu(245) * lu(300)
         lu(302) = lu(302) - lu(246) * lu(300)
         lu(303) = lu(303) - lu(247) * lu(300)
         lu(304) = lu(304) - lu(248) * lu(300)
         lu(305) = lu(305) - lu(249) * lu(300)
         lu(306) = lu(306) - lu(250) * lu(300)
         lu(307) = lu(307) - lu(251) * lu(300)
         lu(308) = lu(308) - lu(252) * lu(300)
         lu(309) = lu(309) - lu(253) * lu(300)
         lu(310) = lu(310) - lu(254) * lu(300)
         lu(311) = lu(311) - lu(255) * lu(300)
         lu(319) = lu(319) - lu(245) * lu(318)
         lu(320) = lu(320) - lu(246) * lu(318)
         lu(321) = lu(321) - lu(247) * lu(318)
         lu(322) = lu(322) - lu(248) * lu(318)
         lu(323) = lu(323) - lu(249) * lu(318)
         lu(324) = lu(324) - lu(250) * lu(318)
         lu(325) = lu(325) - lu(251) * lu(318)
         lu(326) = lu(326) - lu(252) * lu(318)
         lu(327) = lu(327) - lu(253) * lu(318)
         lu(328) = lu(328) - lu(254) * lu(318)
         lu(329) = lu(329) - lu(255) * lu(318)
         lu(342) = lu(342) - lu(245) * lu(341)
         lu(343) = lu(343) - lu(246) * lu(341)
         lu(344) = lu(344) - lu(247) * lu(341)
         lu(345) = lu(345) - lu(248) * lu(341)
         lu(346) = lu(346) - lu(249) * lu(341)
         lu(347) = lu(347) - lu(250) * lu(341)
         lu(348) = lu(348) - lu(251) * lu(341)
         lu(349) = lu(349) - lu(252) * lu(341)
         lu(350) = lu(350) - lu(253) * lu(341)
         lu(351) = lu(351) - lu(254) * lu(341)
         lu(352) = lu(352) - lu(255) * lu(341)
         lu(384) = lu(384) - lu(245) * lu(383)
         lu(385) = lu(385) - lu(246) * lu(383)
         lu(386) = lu(386) - lu(247) * lu(383)
         lu(387) = lu(387) - lu(248) * lu(383)
         lu(388) = lu(388) - lu(249) * lu(383)
         lu(389) = lu(389) - lu(250) * lu(383)
         lu(390) = lu(390) - lu(251) * lu(383)
         lu(391) = lu(391) - lu(252) * lu(383)
         lu(392) = lu(392) - lu(253) * lu(383)
         lu(393) = lu(393) - lu(254) * lu(383)
         lu(394) = lu(394) - lu(255) * lu(383)
         lu(409) = lu(409) - lu(245) * lu(408)
         lu(410) = lu(410) - lu(246) * lu(408)
         lu(411) = lu(411) - lu(247) * lu(408)
         lu(412) = lu(412) - lu(248) * lu(408)
         lu(413) = lu(413) - lu(249) * lu(408)
         lu(414) = lu(414) - lu(250) * lu(408)
         lu(415) = lu(415) - lu(251) * lu(408)
         lu(416) = lu(416) - lu(252) * lu(408)
         lu(417) = lu(417) - lu(253) * lu(408)
         lu(418) = lu(418) - lu(254) * lu(408)
         lu(419) = lu(419) - lu(255) * lu(408)
         lu(447) = lu(447) - lu(245) * lu(446)
         lu(448) = lu(448) - lu(246) * lu(446)
         lu(449) = lu(449) - lu(247) * lu(446)
         lu(450) = lu(450) - lu(248) * lu(446)
         lu(451) = lu(451) - lu(249) * lu(446)
         lu(452) = lu(452) - lu(250) * lu(446)
         lu(453) = lu(453) - lu(251) * lu(446)
         lu(454) = lu(454) - lu(252) * lu(446)
         lu(455) = lu(455) - lu(253) * lu(446)
         lu(456) = lu(456) - lu(254) * lu(446)
         lu(457) = lu(457) - lu(255) * lu(446)
         lu(469) = lu(469) - lu(245) * lu(468)
         lu(470) = lu(470) - lu(246) * lu(468)
         lu(471) = lu(471) - lu(247) * lu(468)
         lu(472) = lu(472) - lu(248) * lu(468)
         lu(473) = lu(473) - lu(249) * lu(468)
         lu(474) = lu(474) - lu(250) * lu(468)
         lu(475) = lu(475) - lu(251) * lu(468)
         lu(476) = lu(476) - lu(252) * lu(468)
         lu(477) = lu(477) - lu(253) * lu(468)
         lu(478) = lu(478) - lu(254) * lu(468)
         lu(479) = lu(479) - lu(255) * lu(468)
         lu(486) = lu(486) - lu(245) * lu(485)
         lu(487) = lu(487) - lu(246) * lu(485)
         lu(488) = lu(488) - lu(247) * lu(485)
         lu(489) = lu(489) - lu(248) * lu(485)
         lu(490) = lu(490) - lu(249) * lu(485)
         lu(491) = lu(491) - lu(250) * lu(485)
         lu(492) = lu(492) - lu(251) * lu(485)
         lu(493) = lu(493) - lu(252) * lu(485)
         lu(494) = lu(494) - lu(253) * lu(485)
         lu(495) = lu(495) - lu(254) * lu(485)
         lu(496) = lu(496) - lu(255) * lu(485)
      end subroutine lu_fac05
      subroutine lu_fac06( lu )
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      real(r8), intent(inout) :: lu(:)
         lu(279) = 1._r8 / lu(279)
         lu(280) = lu(280) * lu(279)
         lu(281) = lu(281) * lu(279)
         lu(282) = lu(282) * lu(279)
         lu(283) = lu(283) * lu(279)
         lu(284) = lu(284) * lu(279)
         lu(285) = lu(285) * lu(279)
         lu(286) = lu(286) * lu(279)
         lu(287) = lu(287) * lu(279)
         lu(288) = lu(288) * lu(279)
         lu(289) = lu(289) * lu(279)
         lu(302) = lu(302) - lu(280) * lu(301)
         lu(303) = lu(303) - lu(281) * lu(301)
         lu(304) = lu(304) - lu(282) * lu(301)
         lu(305) = lu(305) - lu(283) * lu(301)
         lu(306) = lu(306) - lu(284) * lu(301)
         lu(307) = lu(307) - lu(285) * lu(301)
         lu(308) = lu(308) - lu(286) * lu(301)
         lu(309) = lu(309) - lu(287) * lu(301)
         lu(310) = lu(310) - lu(288) * lu(301)
         lu(311) = lu(311) - lu(289) * lu(301)
         lu(320) = lu(320) - lu(280) * lu(319)
         lu(321) = lu(321) - lu(281) * lu(319)
         lu(322) = lu(322) - lu(282) * lu(319)
         lu(323) = lu(323) - lu(283) * lu(319)
         lu(324) = lu(324) - lu(284) * lu(319)
         lu(325) = lu(325) - lu(285) * lu(319)
         lu(326) = lu(326) - lu(286) * lu(319)
         lu(327) = lu(327) - lu(287) * lu(319)
         lu(328) = lu(328) - lu(288) * lu(319)
         lu(329) = lu(329) - lu(289) * lu(319)
         lu(343) = lu(343) - lu(280) * lu(342)
         lu(344) = lu(344) - lu(281) * lu(342)
         lu(345) = lu(345) - lu(282) * lu(342)
         lu(346) = lu(346) - lu(283) * lu(342)
         lu(347) = lu(347) - lu(284) * lu(342)
         lu(348) = lu(348) - lu(285) * lu(342)
         lu(349) = lu(349) - lu(286) * lu(342)
         lu(350) = lu(350) - lu(287) * lu(342)
         lu(351) = lu(351) - lu(288) * lu(342)
         lu(352) = lu(352) - lu(289) * lu(342)
         lu(361) = lu(361) - lu(280) * lu(360)
         lu(362) = lu(362) - lu(281) * lu(360)
         lu(363) = lu(363) - lu(282) * lu(360)
         lu(364) = lu(364) - lu(283) * lu(360)
         lu(365) = lu(365) - lu(284) * lu(360)
         lu(366) = lu(366) - lu(285) * lu(360)
         lu(367) = lu(367) - lu(286) * lu(360)
         lu(368) = lu(368) - lu(287) * lu(360)
         lu(369) = lu(369) - lu(288) * lu(360)
         lu(370) = lu(370) - lu(289) * lu(360)
         lu(385) = lu(385) - lu(280) * lu(384)
         lu(386) = lu(386) - lu(281) * lu(384)
         lu(387) = lu(387) - lu(282) * lu(384)
         lu(388) = lu(388) - lu(283) * lu(384)
         lu(389) = lu(389) - lu(284) * lu(384)
         lu(390) = lu(390) - lu(285) * lu(384)
         lu(391) = lu(391) - lu(286) * lu(384)
         lu(392) = lu(392) - lu(287) * lu(384)
         lu(393) = lu(393) - lu(288) * lu(384)
         lu(394) = lu(394) - lu(289) * lu(384)
         lu(410) = lu(410) - lu(280) * lu(409)
         lu(411) = lu(411) - lu(281) * lu(409)
         lu(412) = lu(412) - lu(282) * lu(409)
         lu(413) = lu(413) - lu(283) * lu(409)
         lu(414) = lu(414) - lu(284) * lu(409)
         lu(415) = lu(415) - lu(285) * lu(409)
         lu(416) = lu(416) - lu(286) * lu(409)
         lu(417) = lu(417) - lu(287) * lu(409)
         lu(418) = lu(418) - lu(288) * lu(409)
         lu(419) = lu(419) - lu(289) * lu(409)
         lu(427) = lu(427) - lu(280) * lu(426)
         lu(428) = lu(428) - lu(281) * lu(426)
         lu(429) = lu(429) - lu(282) * lu(426)
         lu(430) = lu(430) - lu(283) * lu(426)
         lu(431) = lu(431) - lu(284) * lu(426)
         lu(432) = lu(432) - lu(285) * lu(426)
         lu(433) = lu(433) - lu(286) * lu(426)
         lu(434) = lu(434) - lu(287) * lu(426)
         lu(435) = lu(435) - lu(288) * lu(426)
         lu(436) = lu(436) - lu(289) * lu(426)
         lu(448) = lu(448) - lu(280) * lu(447)
         lu(449) = lu(449) - lu(281) * lu(447)
         lu(450) = lu(450) - lu(282) * lu(447)
         lu(451) = lu(451) - lu(283) * lu(447)
         lu(452) = lu(452) - lu(284) * lu(447)
         lu(453) = lu(453) - lu(285) * lu(447)
         lu(454) = lu(454) - lu(286) * lu(447)
         lu(455) = lu(455) - lu(287) * lu(447)
         lu(456) = lu(456) - lu(288) * lu(447)
         lu(457) = lu(457) - lu(289) * lu(447)
         lu(470) = lu(470) - lu(280) * lu(469)
         lu(471) = lu(471) - lu(281) * lu(469)
         lu(472) = lu(472) - lu(282) * lu(469)
         lu(473) = lu(473) - lu(283) * lu(469)
         lu(474) = lu(474) - lu(284) * lu(469)
         lu(475) = lu(475) - lu(285) * lu(469)
         lu(476) = lu(476) - lu(286) * lu(469)
         lu(477) = lu(477) - lu(287) * lu(469)
         lu(478) = lu(478) - lu(288) * lu(469)
         lu(479) = lu(479) - lu(289) * lu(469)
         lu(487) = lu(487) - lu(280) * lu(486)
         lu(488) = lu(488) - lu(281) * lu(486)
         lu(489) = lu(489) - lu(282) * lu(486)
         lu(490) = lu(490) - lu(283) * lu(486)
         lu(491) = lu(491) - lu(284) * lu(486)
         lu(492) = lu(492) - lu(285) * lu(486)
         lu(493) = lu(493) - lu(286) * lu(486)
         lu(494) = lu(494) - lu(287) * lu(486)
         lu(495) = lu(495) - lu(288) * lu(486)
         lu(496) = lu(496) - lu(289) * lu(486)
         lu(302) = 1._r8 / lu(302)
         lu(303) = lu(303) * lu(302)
         lu(304) = lu(304) * lu(302)
         lu(305) = lu(305) * lu(302)
         lu(306) = lu(306) * lu(302)
         lu(307) = lu(307) * lu(302)
         lu(308) = lu(308) * lu(302)
         lu(309) = lu(309) * lu(302)
         lu(310) = lu(310) * lu(302)
         lu(311) = lu(311) * lu(302)
         lu(321) = lu(321) - lu(303) * lu(320)
         lu(322) = lu(322) - lu(304) * lu(320)
         lu(323) = lu(323) - lu(305) * lu(320)
         lu(324) = lu(324) - lu(306) * lu(320)
         lu(325) = lu(325) - lu(307) * lu(320)
         lu(326) = lu(326) - lu(308) * lu(320)
         lu(327) = lu(327) - lu(309) * lu(320)
         lu(328) = lu(328) - lu(310) * lu(320)
         lu(329) = lu(329) - lu(311) * lu(320)
         lu(344) = lu(344) - lu(303) * lu(343)
         lu(345) = lu(345) - lu(304) * lu(343)
         lu(346) = lu(346) - lu(305) * lu(343)
         lu(347) = lu(347) - lu(306) * lu(343)
         lu(348) = lu(348) - lu(307) * lu(343)
         lu(349) = lu(349) - lu(308) * lu(343)
         lu(350) = lu(350) - lu(309) * lu(343)
         lu(351) = lu(351) - lu(310) * lu(343)
         lu(352) = lu(352) - lu(311) * lu(343)
         lu(362) = lu(362) - lu(303) * lu(361)
         lu(363) = lu(363) - lu(304) * lu(361)
         lu(364) = lu(364) - lu(305) * lu(361)
         lu(365) = lu(365) - lu(306) * lu(361)
         lu(366) = lu(366) - lu(307) * lu(361)
         lu(367) = lu(367) - lu(308) * lu(361)
         lu(368) = lu(368) - lu(309) * lu(361)
         lu(369) = lu(369) - lu(310) * lu(361)
         lu(370) = lu(370) - lu(311) * lu(361)
         lu(386) = lu(386) - lu(303) * lu(385)
         lu(387) = lu(387) - lu(304) * lu(385)
         lu(388) = lu(388) - lu(305) * lu(385)
         lu(389) = lu(389) - lu(306) * lu(385)
         lu(390) = lu(390) - lu(307) * lu(385)
         lu(391) = lu(391) - lu(308) * lu(385)
         lu(392) = lu(392) - lu(309) * lu(385)
         lu(393) = lu(393) - lu(310) * lu(385)
         lu(394) = lu(394) - lu(311) * lu(385)
         lu(411) = lu(411) - lu(303) * lu(410)
         lu(412) = lu(412) - lu(304) * lu(410)
         lu(413) = lu(413) - lu(305) * lu(410)
         lu(414) = lu(414) - lu(306) * lu(410)
         lu(415) = lu(415) - lu(307) * lu(410)
         lu(416) = lu(416) - lu(308) * lu(410)
         lu(417) = lu(417) - lu(309) * lu(410)
         lu(418) = lu(418) - lu(310) * lu(410)
         lu(419) = lu(419) - lu(311) * lu(410)
         lu(428) = lu(428) - lu(303) * lu(427)
         lu(429) = lu(429) - lu(304) * lu(427)
         lu(430) = lu(430) - lu(305) * lu(427)
         lu(431) = lu(431) - lu(306) * lu(427)
         lu(432) = lu(432) - lu(307) * lu(427)
         lu(433) = lu(433) - lu(308) * lu(427)
         lu(434) = lu(434) - lu(309) * lu(427)
         lu(435) = lu(435) - lu(310) * lu(427)
         lu(436) = lu(436) - lu(311) * lu(427)
         lu(449) = lu(449) - lu(303) * lu(448)
         lu(450) = lu(450) - lu(304) * lu(448)
         lu(451) = lu(451) - lu(305) * lu(448)
         lu(452) = lu(452) - lu(306) * lu(448)
         lu(453) = lu(453) - lu(307) * lu(448)
         lu(454) = lu(454) - lu(308) * lu(448)
         lu(455) = lu(455) - lu(309) * lu(448)
         lu(456) = lu(456) - lu(310) * lu(448)
         lu(457) = lu(457) - lu(311) * lu(448)
         lu(471) = lu(471) - lu(303) * lu(470)
         lu(472) = lu(472) - lu(304) * lu(470)
         lu(473) = lu(473) - lu(305) * lu(470)
         lu(474) = lu(474) - lu(306) * lu(470)
         lu(475) = lu(475) - lu(307) * lu(470)
         lu(476) = lu(476) - lu(308) * lu(470)
         lu(477) = lu(477) - lu(309) * lu(470)
         lu(478) = lu(478) - lu(310) * lu(470)
         lu(479) = lu(479) - lu(311) * lu(470)
         lu(488) = lu(488) - lu(303) * lu(487)
         lu(489) = lu(489) - lu(304) * lu(487)
         lu(490) = lu(490) - lu(305) * lu(487)
         lu(491) = lu(491) - lu(306) * lu(487)
         lu(492) = lu(492) - lu(307) * lu(487)
         lu(493) = lu(493) - lu(308) * lu(487)
         lu(494) = lu(494) - lu(309) * lu(487)
         lu(495) = lu(495) - lu(310) * lu(487)
         lu(496) = lu(496) - lu(311) * lu(487)
         lu(321) = 1._r8 / lu(321)
         lu(322) = lu(322) * lu(321)
         lu(323) = lu(323) * lu(321)
         lu(324) = lu(324) * lu(321)
         lu(325) = lu(325) * lu(321)
         lu(326) = lu(326) * lu(321)
         lu(327) = lu(327) * lu(321)
         lu(328) = lu(328) * lu(321)
         lu(329) = lu(329) * lu(321)
         lu(345) = lu(345) - lu(322) * lu(344)
         lu(346) = lu(346) - lu(323) * lu(344)
         lu(347) = lu(347) - lu(324) * lu(344)
         lu(348) = lu(348) - lu(325) * lu(344)
         lu(349) = lu(349) - lu(326) * lu(344)
         lu(350) = lu(350) - lu(327) * lu(344)
         lu(351) = lu(351) - lu(328) * lu(344)
         lu(352) = lu(352) - lu(329) * lu(344)
         lu(363) = lu(363) - lu(322) * lu(362)
         lu(364) = lu(364) - lu(323) * lu(362)
         lu(365) = lu(365) - lu(324) * lu(362)
         lu(366) = lu(366) - lu(325) * lu(362)
         lu(367) = lu(367) - lu(326) * lu(362)
         lu(368) = lu(368) - lu(327) * lu(362)
         lu(369) = lu(369) - lu(328) * lu(362)
         lu(370) = lu(370) - lu(329) * lu(362)
         lu(387) = lu(387) - lu(322) * lu(386)
         lu(388) = lu(388) - lu(323) * lu(386)
         lu(389) = lu(389) - lu(324) * lu(386)
         lu(390) = lu(390) - lu(325) * lu(386)
         lu(391) = lu(391) - lu(326) * lu(386)
         lu(392) = lu(392) - lu(327) * lu(386)
         lu(393) = lu(393) - lu(328) * lu(386)
         lu(394) = lu(394) - lu(329) * lu(386)
         lu(412) = lu(412) - lu(322) * lu(411)
         lu(413) = lu(413) - lu(323) * lu(411)
         lu(414) = lu(414) - lu(324) * lu(411)
         lu(415) = lu(415) - lu(325) * lu(411)
         lu(416) = lu(416) - lu(326) * lu(411)
         lu(417) = lu(417) - lu(327) * lu(411)
         lu(418) = lu(418) - lu(328) * lu(411)
         lu(419) = lu(419) - lu(329) * lu(411)
         lu(429) = lu(429) - lu(322) * lu(428)
         lu(430) = lu(430) - lu(323) * lu(428)
         lu(431) = lu(431) - lu(324) * lu(428)
         lu(432) = lu(432) - lu(325) * lu(428)
         lu(433) = lu(433) - lu(326) * lu(428)
         lu(434) = lu(434) - lu(327) * lu(428)
         lu(435) = lu(435) - lu(328) * lu(428)
         lu(436) = lu(436) - lu(329) * lu(428)
         lu(450) = lu(450) - lu(322) * lu(449)
         lu(451) = lu(451) - lu(323) * lu(449)
         lu(452) = lu(452) - lu(324) * lu(449)
         lu(453) = lu(453) - lu(325) * lu(449)
         lu(454) = lu(454) - lu(326) * lu(449)
         lu(455) = lu(455) - lu(327) * lu(449)
         lu(456) = lu(456) - lu(328) * lu(449)
         lu(457) = lu(457) - lu(329) * lu(449)
         lu(472) = lu(472) - lu(322) * lu(471)
         lu(473) = lu(473) - lu(323) * lu(471)
         lu(474) = lu(474) - lu(324) * lu(471)
         lu(475) = lu(475) - lu(325) * lu(471)
         lu(476) = lu(476) - lu(326) * lu(471)
         lu(477) = lu(477) - lu(327) * lu(471)
         lu(478) = lu(478) - lu(328) * lu(471)
         lu(479) = lu(479) - lu(329) * lu(471)
         lu(489) = lu(489) - lu(322) * lu(488)
         lu(490) = lu(490) - lu(323) * lu(488)
         lu(491) = lu(491) - lu(324) * lu(488)
         lu(492) = lu(492) - lu(325) * lu(488)
         lu(493) = lu(493) - lu(326) * lu(488)
         lu(494) = lu(494) - lu(327) * lu(488)
         lu(495) = lu(495) - lu(328) * lu(488)
         lu(496) = lu(496) - lu(329) * lu(488)
         lu(345) = 1._r8 / lu(345)
         lu(346) = lu(346) * lu(345)
         lu(347) = lu(347) * lu(345)
         lu(348) = lu(348) * lu(345)
         lu(349) = lu(349) * lu(345)
         lu(350) = lu(350) * lu(345)
         lu(351) = lu(351) * lu(345)
         lu(352) = lu(352) * lu(345)
         lu(364) = lu(364) - lu(346) * lu(363)
         lu(365) = lu(365) - lu(347) * lu(363)
         lu(366) = lu(366) - lu(348) * lu(363)
         lu(367) = lu(367) - lu(349) * lu(363)
         lu(368) = lu(368) - lu(350) * lu(363)
         lu(369) = lu(369) - lu(351) * lu(363)
         lu(370) = lu(370) - lu(352) * lu(363)
         lu(388) = lu(388) - lu(346) * lu(387)
         lu(389) = lu(389) - lu(347) * lu(387)
         lu(390) = lu(390) - lu(348) * lu(387)
         lu(391) = lu(391) - lu(349) * lu(387)
         lu(392) = lu(392) - lu(350) * lu(387)
         lu(393) = lu(393) - lu(351) * lu(387)
         lu(394) = lu(394) - lu(352) * lu(387)
         lu(413) = lu(413) - lu(346) * lu(412)
         lu(414) = lu(414) - lu(347) * lu(412)
         lu(415) = lu(415) - lu(348) * lu(412)
         lu(416) = lu(416) - lu(349) * lu(412)
         lu(417) = lu(417) - lu(350) * lu(412)
         lu(418) = lu(418) - lu(351) * lu(412)
         lu(419) = lu(419) - lu(352) * lu(412)
         lu(430) = lu(430) - lu(346) * lu(429)
         lu(431) = lu(431) - lu(347) * lu(429)
         lu(432) = lu(432) - lu(348) * lu(429)
         lu(433) = lu(433) - lu(349) * lu(429)
         lu(434) = lu(434) - lu(350) * lu(429)
         lu(435) = lu(435) - lu(351) * lu(429)
         lu(436) = lu(436) - lu(352) * lu(429)
         lu(451) = lu(451) - lu(346) * lu(450)
         lu(452) = lu(452) - lu(347) * lu(450)
         lu(453) = lu(453) - lu(348) * lu(450)
         lu(454) = lu(454) - lu(349) * lu(450)
         lu(455) = lu(455) - lu(350) * lu(450)
         lu(456) = lu(456) - lu(351) * lu(450)
         lu(457) = lu(457) - lu(352) * lu(450)
         lu(473) = lu(473) - lu(346) * lu(472)
         lu(474) = lu(474) - lu(347) * lu(472)
         lu(475) = lu(475) - lu(348) * lu(472)
         lu(476) = lu(476) - lu(349) * lu(472)
         lu(477) = lu(477) - lu(350) * lu(472)
         lu(478) = lu(478) - lu(351) * lu(472)
         lu(479) = lu(479) - lu(352) * lu(472)
         lu(490) = lu(490) - lu(346) * lu(489)
         lu(491) = lu(491) - lu(347) * lu(489)
         lu(492) = lu(492) - lu(348) * lu(489)
         lu(493) = lu(493) - lu(349) * lu(489)
         lu(494) = lu(494) - lu(350) * lu(489)
         lu(495) = lu(495) - lu(351) * lu(489)
         lu(496) = lu(496) - lu(352) * lu(489)
         lu(364) = 1._r8 / lu(364)
         lu(365) = lu(365) * lu(364)
         lu(366) = lu(366) * lu(364)
         lu(367) = lu(367) * lu(364)
         lu(368) = lu(368) * lu(364)
         lu(369) = lu(369) * lu(364)
         lu(370) = lu(370) * lu(364)
         lu(389) = lu(389) - lu(365) * lu(388)
         lu(390) = lu(390) - lu(366) * lu(388)
         lu(391) = lu(391) - lu(367) * lu(388)
         lu(392) = lu(392) - lu(368) * lu(388)
         lu(393) = lu(393) - lu(369) * lu(388)
         lu(394) = lu(394) - lu(370) * lu(388)
         lu(414) = lu(414) - lu(365) * lu(413)
         lu(415) = lu(415) - lu(366) * lu(413)
         lu(416) = lu(416) - lu(367) * lu(413)
         lu(417) = lu(417) - lu(368) * lu(413)
         lu(418) = lu(418) - lu(369) * lu(413)
         lu(419) = lu(419) - lu(370) * lu(413)
         lu(431) = lu(431) - lu(365) * lu(430)
         lu(432) = lu(432) - lu(366) * lu(430)
         lu(433) = lu(433) - lu(367) * lu(430)
         lu(434) = lu(434) - lu(368) * lu(430)
         lu(435) = lu(435) - lu(369) * lu(430)
         lu(436) = lu(436) - lu(370) * lu(430)
         lu(452) = lu(452) - lu(365) * lu(451)
         lu(453) = lu(453) - lu(366) * lu(451)
         lu(454) = lu(454) - lu(367) * lu(451)
         lu(455) = lu(455) - lu(368) * lu(451)
         lu(456) = lu(456) - lu(369) * lu(451)
         lu(457) = lu(457) - lu(370) * lu(451)
         lu(474) = lu(474) - lu(365) * lu(473)
         lu(475) = lu(475) - lu(366) * lu(473)
         lu(476) = lu(476) - lu(367) * lu(473)
         lu(477) = lu(477) - lu(368) * lu(473)
         lu(478) = lu(478) - lu(369) * lu(473)
         lu(479) = lu(479) - lu(370) * lu(473)
         lu(491) = lu(491) - lu(365) * lu(490)
         lu(492) = lu(492) - lu(366) * lu(490)
         lu(493) = lu(493) - lu(367) * lu(490)
         lu(494) = lu(494) - lu(368) * lu(490)
         lu(495) = lu(495) - lu(369) * lu(490)
         lu(496) = lu(496) - lu(370) * lu(490)
         lu(389) = 1._r8 / lu(389)
         lu(390) = lu(390) * lu(389)
         lu(391) = lu(391) * lu(389)
         lu(392) = lu(392) * lu(389)
         lu(393) = lu(393) * lu(389)
         lu(394) = lu(394) * lu(389)
         lu(415) = lu(415) - lu(390) * lu(414)
         lu(416) = lu(416) - lu(391) * lu(414)
         lu(417) = lu(417) - lu(392) * lu(414)
         lu(418) = lu(418) - lu(393) * lu(414)
         lu(419) = lu(419) - lu(394) * lu(414)
         lu(432) = lu(432) - lu(390) * lu(431)
         lu(433) = lu(433) - lu(391) * lu(431)
         lu(434) = lu(434) - lu(392) * lu(431)
         lu(435) = lu(435) - lu(393) * lu(431)
         lu(436) = lu(436) - lu(394) * lu(431)
         lu(453) = lu(453) - lu(390) * lu(452)
         lu(454) = lu(454) - lu(391) * lu(452)
         lu(455) = lu(455) - lu(392) * lu(452)
         lu(456) = lu(456) - lu(393) * lu(452)
         lu(457) = lu(457) - lu(394) * lu(452)
         lu(475) = lu(475) - lu(390) * lu(474)
         lu(476) = lu(476) - lu(391) * lu(474)
         lu(477) = lu(477) - lu(392) * lu(474)
         lu(478) = lu(478) - lu(393) * lu(474)
         lu(479) = lu(479) - lu(394) * lu(474)
         lu(492) = lu(492) - lu(390) * lu(491)
         lu(493) = lu(493) - lu(391) * lu(491)
         lu(494) = lu(494) - lu(392) * lu(491)
         lu(495) = lu(495) - lu(393) * lu(491)
         lu(496) = lu(496) - lu(394) * lu(491)
      end subroutine lu_fac06
      subroutine lu_fac07( lu )
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      real(r8), intent(inout) :: lu(:)
         lu(415) = 1._r8 / lu(415)
         lu(416) = lu(416) * lu(415)
         lu(417) = lu(417) * lu(415)
         lu(418) = lu(418) * lu(415)
         lu(419) = lu(419) * lu(415)
         lu(433) = lu(433) - lu(416) * lu(432)
         lu(434) = lu(434) - lu(417) * lu(432)
         lu(435) = lu(435) - lu(418) * lu(432)
         lu(436) = lu(436) - lu(419) * lu(432)
         lu(454) = lu(454) - lu(416) * lu(453)
         lu(455) = lu(455) - lu(417) * lu(453)
         lu(456) = lu(456) - lu(418) * lu(453)
         lu(457) = lu(457) - lu(419) * lu(453)
         lu(476) = lu(476) - lu(416) * lu(475)
         lu(477) = lu(477) - lu(417) * lu(475)
         lu(478) = lu(478) - lu(418) * lu(475)
         lu(479) = lu(479) - lu(419) * lu(475)
         lu(493) = lu(493) - lu(416) * lu(492)
         lu(494) = lu(494) - lu(417) * lu(492)
         lu(495) = lu(495) - lu(418) * lu(492)
         lu(496) = lu(496) - lu(419) * lu(492)
         lu(433) = 1._r8 / lu(433)
         lu(434) = lu(434) * lu(433)
         lu(435) = lu(435) * lu(433)
         lu(436) = lu(436) * lu(433)
         lu(455) = lu(455) - lu(434) * lu(454)
         lu(456) = lu(456) - lu(435) * lu(454)
         lu(457) = lu(457) - lu(436) * lu(454)
         lu(477) = lu(477) - lu(434) * lu(476)
         lu(478) = lu(478) - lu(435) * lu(476)
         lu(479) = lu(479) - lu(436) * lu(476)
         lu(494) = lu(494) - lu(434) * lu(493)
         lu(495) = lu(495) - lu(435) * lu(493)
         lu(496) = lu(496) - lu(436) * lu(493)
         lu(455) = 1._r8 / lu(455)
         lu(456) = lu(456) * lu(455)
         lu(457) = lu(457) * lu(455)
         lu(478) = lu(478) - lu(456) * lu(477)
         lu(479) = lu(479) - lu(457) * lu(477)
         lu(495) = lu(495) - lu(456) * lu(494)
         lu(496) = lu(496) - lu(457) * lu(494)
         lu(478) = 1._r8 / lu(478)
         lu(479) = lu(479) * lu(478)
         lu(496) = lu(496) - lu(479) * lu(495)
         lu(496) = 1._r8 / lu(496)
      end subroutine lu_fac07
      subroutine lu_fac( lu )
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      real(r8), intent(inout) :: lu(:)
      call lu_fac01( lu )
      call lu_fac02( lu )
      call lu_fac03( lu )
      call lu_fac04( lu )
      call lu_fac05( lu )
      call lu_fac06( lu )
      call lu_fac07( lu )
      end subroutine lu_fac
      end module mo_lu_factor
